     //简易封装XHR 和 Promise
    //接收配置对象，返回Promise对象
    //导出myAjax函数
     export function myAjax(config){
            return new Promise((resolve,reject) => {
                //发起XHR请求，默认请求方法为GET
                const xhr = new XMLHttpRequest()
                //判断有无params选项，携带查询参数
                if(config.params){
                    //使用URLSearchParams将对象转换为查询字符串
                    const paramsObj = new URLSearchParams(config.params)
                    const queryString = paramsObj.toString()
                    //把查询字符串拼接到URL的 ? 后面
                    config.url += `?${queryString}`
                }
                //模仿axios的config配置对象，设置请求方法和URL
                //设计一个基地址
                xhr.open(config.method || 'GET', config.url)
                xhr.addEventListener('loadend',() => {
                    //调用成功或失败的程序处理
                    if (xhr.status >= 200 && xhr.status < 300){
                        resolve(JSON.parse(xhr.response))
                    } else {
                       reject(new Error(xhr.response))
                    }
                })
                //判断有无data选项，携带请求体
                if(config.data) {
                    //转换数据类型，在send中发送
                    const jsonStr = JSON.stringify(config.data)
                    //设置请求头
                    if(config.data.authorization){
                        //判断请求头是否携带token
                        xhr.setRequestHeader('Authorization',`${config.authorization}`)
                    } 
                     xhr.setRequestHeader('Content-Type','application/json')
                    xhr.send(jsonStr)
                } else { //没有请求体 正常发送
                    xhr.send()
                }
               
            })
        }


        export function ajax01(obj){
            return new Promise((resolve,reject) => {
                const xhr = new XMLHttpRequest()
                xhr.withCredentials = true

            xhr.addEventListener("loadend", function() {
            if( xhr.status >= 200 && xhr.status < 300) {
               resolve(JSON.parse(this.response))
            } else {
                reject(new Error(this.response))
            }
            })
            if(obj.params){
                const paramsObj = new URLSearchParams(obj.params)
                const queryString = paramsObj.toString()
                obj.url += `?${queryString}`
            }
            xhr.open(`${obj.method}`, `${obj.url}`)
            if(obj.authorization){
                xhr.setRequestHeader("Authorization", `${obj.authorization}`)
            } 
             if(obj.data){
                xhr.setRequestHeader("Content-Type", "application/json")
                xhr.send(JSON.stringify(obj.data))
            } else {
                xhr.send()
            }

              
            })
        }
